﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x0200009F RID: 159
	public class TDescribeStmt : TCustomSqlStatement
	{
		// Token: 0x170000C6 RID: 198
		// (get) Token: 0x060004F7 RID: 1271 RVA: 0x002FC5DD File Offset: 0x002FA7DD
		public virtual TObjectName ColumnName
		{
			get
			{
				return this.describeSqlNode.ColumnName;
			}
		}

		// Token: 0x170000C7 RID: 199
		// (get) Token: 0x060004F8 RID: 1272 RVA: 0x002FC5EA File Offset: 0x002FA7EA
		public virtual TSourceToken DescToken
		{
			get
			{
				return this.describeSqlNode.DescToken;
			}
		}

		// Token: 0x170000C8 RID: 200
		// (get) Token: 0x060004F9 RID: 1273 RVA: 0x002FC5F7 File Offset: 0x002FA7F7
		public virtual TObjectName TableName
		{
			get
			{
				return this.describeSqlNode.TableName;
			}
		}

		// Token: 0x060004FA RID: 1274 RVA: 0x002FC604 File Offset: 0x002FA804
		public TDescribeStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstdescribe;
		}

		// Token: 0x060004FB RID: 1275 RVA: 0x002FC615 File Offset: 0x002FA815
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			this.describeSqlNode = (TDescribeSqlNode)this.rootNode;
			return 0;
		}

		// Token: 0x060004FC RID: 1276 RVA: 0x002FC63B File Offset: 0x002FA83B
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x060004FD RID: 1277 RVA: 0x002FC64B File Offset: 0x002FA84B
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400112B RID: 4395
		internal TDescribeSqlNode describeSqlNode;
	}
}
